package com.masterrabbit.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.masterrabbit.common.core.annotation.Excel;
import com.masterrabbit.common.core.web.domain.BaseEntity;

/**
 * 订单记录对象 order_records
 * 
 * @author laotu
 * @date 2025-03-19
 */
public class OrderRecords extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID（自增） */
    private Long recordId;

    /** 订单编号（UUID） */
    @Excel(name = "订单编号", readConverterExp = "U=UID")
    private String orderNumber;

    /** 服务分类 */
    @Excel(name = "服务分类")
    private String serviceCategory;

    /** 服务门店 */
    @Excel(name = "服务门店")
    private String serviceShop;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderTime;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appointmentTime;

    /** 车辆 */
    @Excel(name = "车辆")
    private String vehicleInfo;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 服务项目 */
    @Excel(name = "服务项目")
    private String serviceName;

    /** 订单金额 */
    @Excel(name = "订单金额")
    private BigDecimal totalAmount;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private BigDecimal discountAmount;

    /** 实际金额 */
    @Excel(name = "实际金额")
    private BigDecimal actualAmount;

    public void setRecordId(Long recordId) 
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }

    public void setOrderNumber(String orderNumber) 
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber() 
    {
        return orderNumber;
    }

    public void setServiceCategory(String serviceCategory) 
    {
        this.serviceCategory = serviceCategory;
    }

    public String getServiceCategory() 
    {
        return serviceCategory;
    }

    public void setServiceShop(String serviceShop) 
    {
        this.serviceShop = serviceShop;
    }

    public String getServiceShop() 
    {
        return serviceShop;
    }

    public void setOrderTime(Date orderTime) 
    {
        this.orderTime = orderTime;
    }

    public Date getOrderTime() 
    {
        return orderTime;
    }

    public void setAppointmentTime(Date appointmentTime) 
    {
        this.appointmentTime = appointmentTime;
    }

    public Date getAppointmentTime() 
    {
        return appointmentTime;
    }

    public void setVehicleInfo(String vehicleInfo) 
    {
        this.vehicleInfo = vehicleInfo;
    }

    public String getVehicleInfo() 
    {
        return vehicleInfo;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public void setServiceName(String serviceName) 
    {
        this.serviceName = serviceName;
    }

    public String getServiceName() 
    {
        return serviceName;
    }

    public void setTotalAmount(BigDecimal totalAmount) 
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount() 
    {
        return totalAmount;
    }

    public void setDiscountAmount(BigDecimal discountAmount) 
    {
        this.discountAmount = discountAmount;
    }

    public BigDecimal getDiscountAmount() 
    {
        return discountAmount;
    }

    public void setActualAmount(BigDecimal actualAmount) 
    {
        this.actualAmount = actualAmount;
    }

    public BigDecimal getActualAmount() 
    {
        return actualAmount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("orderNumber", getOrderNumber())
            .append("serviceCategory", getServiceCategory())
            .append("serviceShop", getServiceShop())
            .append("orderTime", getOrderTime())
            .append("appointmentTime", getAppointmentTime())
            .append("vehicleInfo", getVehicleInfo())
            .append("remarks", getRemarks())
            .append("serviceName", getServiceName())
            .append("totalAmount", getTotalAmount())
            .append("discountAmount", getDiscountAmount())
            .append("actualAmount", getActualAmount())
            .toString();
    }
}
